<?php

declare(strict_types=1);

namespace App\CustHub\Model;

use App\Common\Model\Region;
use Mine\Exception\NormalStatusException;
use Mine\MineModel;

/**
 * @property int $id 
 * @property string $name 
 * @property string $ip 
 * @property string $province 所属省份
 * @property string $city 所属城市
 * @property string $pro_code 省份代码
 * @property string $city_code 城市代码
 * @property int $count 机器人数量
 * @property int $status 0 暂停 1正常
 * @property int $server_status 服务器状态 0 不可用1 可用
 * @property int $max_count 机器人数量限制
 * @property int $client_type 渠道
 * @property int $login_count 在线个数
 * @property int $type 0 个微 1 企微
 * @property array $config 配置信息
 * @property string $gateway 网关名称
 * @property \Carbon\Carbon $created_at 
 * @property \Carbon\Carbon $updated_at 
 */
class ChServer extends MineModel
{
    /**
     * The table associated with the model.
     */
    protected ?string $table = 'ch_server';

    /**
     * The attributes that are mass assignable.
     */
    protected array $fillable = ['id', 'name', 'ip', 'province', 'city', 'pro_code', 'city_code', 'count', 'status', 'server_status', 'max_count', 'client_type', 'login_count', 'type', 'config', 'gateway', 'created_at', 'updated_at'];

    /**
     * The attributes that should be cast to native types.
     */
    protected array $casts = ['id' => 'integer', 'count' => 'integer', 'status' => 'integer', 'server_status' => 'integer', 'max_count' => 'integer', 'client_type' => 'integer', 'login_count' => 'integer', 'type' => 'integer', 'config' => 'array', 'created_at' => 'datetime', 'updated_at' => 'datetime'];
}
